The present invention generally relates to on-board vehicle computer systems, and particularly to a system and method for reprogramming on-board vehicle computer systems.
For over a decade, computers have been used on vehicles, such as automobiles and trucks, to control particular operations of one or more mechanical vehicle systems. In this regard, one of the first and still principal applications of vehicle computer technology has been to control various aspects of the engine used to drive the vehicle. In recent years, computers have also come to be used in a wide variety of vehicle systems, such as transmission systems, brake systems, suspension systems, operator control panels and even motorized seats. An example of one such computerized vehicle system is described in Leising et. al U.S. Pat. No. 4,875,391, issued on Oct. 24, 1989, entitled "Electronically-Controlled, Adaptive Automatic Transmission System". This commonly assigned patent is hereby incorporated by reference. As described in this patent, the vehicle transmission system includes a computer circuit which controls a plurality of solenoid-actuated valves that regulate the flow of hydraulic fluid within the transmission.
Due to the complexity and inter-relationship between some of these vehicle systems, on-board computer communication systems have also developed to enable data and other signals to be passed between particular vehicle computers. These communication systems typically include a plurality of wires which are connected to the vehicle computers in a particular electronic configuration, generally referred to as a "bus".
One example of an appropriate vehicle bus structure is represented by the Chrysler Collision Detection ("C.sup.2 D") Serial Data Bus. This technology is described in the following publications and patents: SAE paper No. 860389, entitled "Chrysler Collision Detection (C.sup.2 D)--A Revolutionary Vehicle Network", by Frederick O. R. Miesterfeld, 1986; SAE paper No. 890529, entitled "The All-Adaptive Controls for the Chrysler Ultradrive Transaxle", 1989; U.S. Pat. No. 4,706,082, entitled "Serial Data Bus For Intermodule Data Communications," which issued on Nov. 10, 1987; and U.S. Pat. No. 4,719,458, entitled "Method of Data Arbitration and Collision Detection In A Data Bus," which issued on Jan. 12, 1988; and U.S. Pat. No. 4,739,323, entitled "Serial Data Bus For Serial Communication Interface (SCI), Serial Peripheral Interface (SPI) and Buffered SPI Modes of Operation," which issued on Apr. 19, 1988; and U.S. Pat. No. 4,739,324, entitled "Method for Serial Peripheral Interface (SPI) in a Serial Data Bus," which issued on Apr. 19, 1988; and U.S. Pat. No. 4,742,349 entitled "Method for Buffered Serial Peripheral Interface (SPI) in a Serial Data Bus", which will issue on May 3, 1988. These co-assigned patents and the identified publications are all hereby incorporated by reference.
In this regard, it should be noted that the engine controller and the transmission controller discussed in the above referenced U.S. Pat. No. 4,875,391 are both connected to the C.sup.2 D Serial Data Bus. This Serial Data Bus may also be accessible to off-board vehicle computers through one or more diagnostic connectors on the vehicle. In this regard, it should be appreciated that any vehicle bus structure needs to be accessible to off-board computer systems in order to permit the bus itself to be tested and permit direct access to and communication with any of the vehicle computers tied to the vehicle bus.
One or more of these vehicle diagnostic connectors also typically provide separate communication links or channels with both the vehicle's engine control computer and the vehicle's transmission control computer. These communication links are generally designed to conduct serial communications directly with these particular on-board vehicle computers during certain diagnostic procedures.
In any event, diagnostic connectors have been employed since engine computers were first used on vehicles to permit communication between on-board and off-board computers. Thus, for example, data being gathered by the on-board vehicle computer from various sensors (such as engine speed and manifold pressure) may be transmitted to an off-board computer for programmed or operator analysis. Additionally, it may be desirable for an off-board computer to transmit commands which will actuate or energize electronically controlled devices on the vehicle (such as the air switch solenoid) to examine the response achieved. As another example of possible forms of communication, it may be advantageous for a test program from an off-board computer to be "down-loaded" into the transmission control computer in order to execute one or more prescribed tests of the transmission system before the vehicle leaves the manufacturing facility.
As with any computer system, an on-board vehicle computer cannot function without a set of instructions for the computer hardware to follow. This set of instructions may comprise one or more computer programs which are sometimes referred to generically as computer software. In order for the computer hardware to use this set of instructions, the computer programs need to be stored in some medium which is readily accessible to the computer's hardware. In terms of on-board vehicle computers, the computer programs are typically stored in a form of circuitry which will retain the computer program even when there is no electrical power connected to the computer circuit.
Specifically, on-board vehicle computer programs are stored in one or more types of non-volatile ROM, which stands for "Read-Only Memory". ROM circuits come in various types, such as permanent circuits (ROM), programmable circuits (PROM), erasable-programmable circuits (EPROM) or electrically erasable-programmable circuits (EEPROM). Each of these ROM circuits are produced in the form of a semiconductor integrated circuit (IC) or circuit "chip" which may be separately mounted to a circuit board or contained in a larger chip that includes other circuits as well.
With a permanent ROM, the computer programs are hard-wired into the chip during the manufacture of the chip, and the program cannot be changed. With a PROM, the computer program is electronically inserted or injected into the chip after it has been manufactured. The EPROM is like a PROM except it has the added capability of erasing the entire computer program stored in the chip by irradiating the chip with ultra-violet light for a period of time on the order of 20 minutes. Once the program is erased, then another computer program may be inserted into the chip to take its place. The EEPROM is similar to the EPROM in that it permits erasure and subsequent re-programming. However, with an EEPROM, the entire computer program need not be erased, and the erasure may be accomplished very rapidly (e.g., 1-2 seconds) through the application of electrical signals.
Additionally, a new form of non-volatile ROM chip, known as a "flash memory", has also become available. A flash memory chip is like an EEPROM in terms of being electrically erasable and re-programmable. However, unlike an EEPROM, individual memory cells cannot be erased in a flash memory chip. At the present time, a flash memory only has the capability of erasing selected sections of the memory or the entire contents of the memory. Nevertheless, a flash memory has several advantages over EEPROMs, including high density and the ability to operate at a low voltage (e.g., 5 volts). A further description of flash memories may be found in an IEEE Spectrum article by Pashley et. al., entitled "Flash memories: the best of two worlds", December, 1989. This article is hereby incorporated by reference.
As will be appreciated from the above discussion of ROM memories, each of these memory types present different options when it is desired to update, revise or expand upon the computer programs which are stored in the memory chip. With permanent ROMs and PROMs, the chip itself has to be removed from the circuit board and replaced with a new memory chip which contains the desired computer programs. With an EPROM, the memory chip still needs to be removed from the circuit board in order to be erased. However, the EPROM chip may then be replaced on the circuit board after the new program has been injected into the chip.
Due to the amount of time, labor and possible replacement costs involved in these procedures, none of these three types of ROM chips present particularly attractive options for applications where it may be desirable to periodically update the software stored on the memory chip. In contrast, EEPROMs and flash memories do offer a potentially viable option for updating or otherwise replacing existing software. In this regard, it is generally not necessary for a EEPROM or flash memory chip to be removed from a circuit board in order to erase all or part of a computer program and subsequently re-program the appropriate memory cells. Additionally, as discussed above, the entire erasure/reprogramming procedure for these memory chips may be carried out very quickly.
With respect to the computer programs used in on-board vehicle computer systems, a need exists to provide a way which will permit these computer programs to be easily updated or changed at a qualified dealership. As each model year brings further sophistication to on-board vehicle computer systems and their computer programs, it would be a distinct benefit to the consumer to permit one or more of the vehicle computers to be upgraded with the latest software on an economical basis.
Accordingly, it is a principal objective of the present invention to provide a secure system and method for reprogramming on-board vehicle computers.
It is a more specific objective of the present invention to provide a secure system and method for reprogramming on-board vehicle computers which is reliable, quick and economical.
It is another objective of the present invention to provide a secure system and method for reprogramming on-board vehicle computers which minimizes the amount of hardware changes required to reprogram all or part of computer programs residing in an on-board memory chip.
It is a further objective of the present invention to provide a secure system and method for reprogramming on-board vehicle computers which utilizes the existing vehicle communication structure for transmitting new computer instructions to the on-board memory chip being reprogrammed.